home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 011 / miscutl1.arc / MEM640.BAS < prev    next >
Encoding:
BASIC Source File  |  1983-12-14  |  2.9 KB  |  88 lines

  1. 100 '
  2. 200 ' BIOS Modification Program: MEM640  
  3. 300 '               "CMDCOM.BAS"                   Last Update 07/13/83
  4. 400 '
  5. 500 'This program will read in an unmodified IBMBIO.COM  (Release 2.0)
  6. 600 '     and produce an output file called NEWBIO.CMD.. which can be
  7. 700 '     renamed to IBMBIO.COM.. This output file will contain the 
  8. 800 '     the modification to permit access to greater than 544K of memory
  9. 900 '     with the old PC-1 bios chip. Refer to MEM640.DOC before using
  10. 905 '     this program.
  11. 910 '
  12. 950 DEFINT A-Z
  13. 1000 BFIL$ = "IBMBIO.COM"
  14. 1100 CFIL$ = "NEWBIO.CMD"
  15. 1200 INPUT "Enter Drive where IBMBIO.COM resides",DRV$
  16. 1210 BFIL$=DRV$+BFIL$
  17. 1220 CFIL$=DRV$+CFIL$
  18. 1230 '
  19. 1240 OPEN BFIL$ FOR INPUT AS #1:CLOSE #1
  20. 1250 OPEN BFIL$ AS #1 LEN=1
  21. 1260 V= VARPTR(#1)
  22. 1270 L0=PEEK(V)
  23. 1280 IF L0 <>4 THEN GOTO 5000
  24. 1290 L1=PEEK(V+17) + 256 * PEEK(V+18) 'FILESIZE IN BYTES
  25. 1300 LIMIT = L1: IF LIMIT>6800 THEN PRINT "file too large":GOTO 5000 :
  26. 2000 'check base and change files for random, size and
  27. 2100 ' equal length .. abort if not correct conditions
  28. 2200 PRINT "BASE    FILE SIZE = ",LIMIT
  29. 2300 READ T:PRINT "ORIGIN  FILE SIZE = ",T
  30. 3000 DIM BB%(6800)
  31. 3002 FOR I = 1 TO 6800
  32. 3004 BB%(i) = 0
  33. 3006 NEXT i
  34. 3100 '
  35. 3200 FIELD #1,1 AS INB$
  36. 3300 '
  37. 3400 FOR I = 1 TO LIMIT
  38. 3410 GET #1,I
  39. 3420 BB%(I) = ASC(INB$)
  40. 3430 NEXT I
  41. 3431 CLOSE #1
  42. 3432 '
  43. 3440 READ BYTES:
  44. 3500 FOR I = 1 TO BYTES
  45. 3600 READ IKJ%,XOLD%,XNEW%
  46. 3700 IF BB%(IKJ%) <> XOLD% THEN GOTO 3950
  47. 3800 BB%(IKJ%) = XNEW%
  48. 3900 GOTO 4300
  49. 3950 PRINT "VERIFY REJECT AT ";IKJ%," (";XOLD%;" / ";XNEW%;") ":
  50. 4100 PRINT "TARGET FILE NEWBIO.COM UNUSABLE":
  51. 4200 END
  52. 4300 NEXT I
  53. 4500 '
  54. 4600 '
  55. 4610 OPEN CFIL$ FOR OUTPUT AS #2:CLOSE #2
  56. 4620 OPEN CFIL$ AS #2 LEN=1
  57. 4630 FIELD #2,1 AS INC$
  58. 4700 '
  59. 4710 FOR I = 1 TO LIMIT
  60. 4712 IF BB%(I)>255 THEN PRINT "FORMAT ERROR AT";I;" = ";BB%(I):
  61. 4720 LSET INC$ = CHR$(BB%(I))
  62. 4730 PUT #2,I
  63. 4740 NEXT I
  64. 4750 CLOSE #2
  65. 4760 '
  66. 4800 PRINT "File NEWBIO.COM Created .. Rename to Use"
  67. 4900 END
  68. 4990 ' ** DATA STATEMENT WRITE SUBROUTINE
  69. 4991 '
  70. 4999 DATA  4656, 51     
  71. 5000 data  745, 10, 0, 2010, 176, 233, 2011, 2, 244
  72. 5010 DATA  2012, 170, 9, 4561, 0, 80, 4562, 0, 6
  73. 5020 DATA  4563, 0, 87, 4564, 0, 49, 4565, 0, 192
  74. 5030 DATA  4566, 0, 142, 4567, 0, 192, 4568, 0, 191
  75. 5040 DATA  4569, 0, 114, 4570, 0, 4, 4571, 0, 184
  76. 5050 DATA  4572, 0, 33, 4573, 0, 67, 4574, 0, 38
  77. 5060 DATA  4575, 0, 59, 4576, 0, 5, 4577, 0, 116
  78. 5070 DATA  4578, 0, 21, 4579, 0, 191, 4580, 0, 19
  79. 5080 DATA  4581, 0, 4, 4582, 0, 184, 4583, 0, 128
  80. 5090 DATA  4584, 0, 2, 4585, 0, 171, 4586, 0, 184
  81. 5100 DATA  4587, 0, 64, 4588, 0, 2, 4589, 0, 171
  82. 5110 DATA  4590, 0, 232, 4591, 0, 16, 4593, 0, 191
  83. 5120 DATA  4594, 0, 114, 4595, 0, 4, 4596, 0, 184
  84. 5130 DATA  4597, 0, 33, 4598, 0, 67, 4599, 0, 171
  85. 5140 DATA  4600, 0, 95, 4601, 0, 7, 4602, 0, 88
  86. 5150 DATA  4603, 0, 176, 4604, 0, 2, 4605, 0, 170
  87. 5160 DATA  4606, 0, 233, 4607, 0, 220, 4608, 0, 245
  88.